Add private method to check activatability
authorEmmanuele Bassi <ebassi@gnome.org>
Fri, 4 Dec 2020 23:01:57 +0000 (23:01 +0000)
committerEmmanuele Bassi <ebassi@gnome.org>
Sat, 5 Dec 2020 01:04:18 +0000 (01:04 +0000)
We should have an actual method, instead of checking the
WidgetClass.activate_signal directly.

gtk/gtkwidget.c
gtk/gtkwidgetprivate.h

index 1ae404c425fd0d9b54b2c50a7725bcc2ed3ef61b..e638b377aa928fa16656da9ee1f520e36fc7bb6c 100644 (file)
@@ -4296,9 +4296,18 @@ gtk_widget_mnemonic_activate (GtkWidget *widget,
   return handled;
 }
 
-static gboolean
+/*< private >
+ * gtk_widget_can_activate:
+ * @self: a #GtkWidget
+ *
+ * Checks whether a #GtkWidget can be activated using
+ * gtk_widget_activate().
+ */
+gboolean
 gtk_widget_can_activate (GtkWidget *self)
 {
+  g_return_val_if_fail (GTK_IS_WIDGET (self), FALSE);
+
   GtkWidgetClass *widget_class = GTK_WIDGET_GET_CLASS (self);
 
   if (widget_class->activate_signal != 0)
index a79ee938da9e1a3a3d2f84367ba148f69777debf..00424ff446c7725612eea1007bcde9bc3cee7ffd 100644 (file)
@@ -356,6 +356,8 @@ guint             gtk_widget_add_surface_transform_changed_callback (GtkWidget
 void              gtk_widget_remove_surface_transform_changed_callback (GtkWidget *widget,
                                                                         guint      id);
 
+gboolean          gtk_widget_can_activate       (GtkWidget *widget);
+
 /* focus vfuncs for non-focusable containers with focusable children */
 gboolean gtk_widget_grab_focus_child (GtkWidget        *widget);
 gboolean gtk_widget_focus_child      (GtkWidget        *widget,